package com.lv7.service;

public interface KeyGeneratorService {

	/**
	 * 生成主键
	 * @param prefix 前缀，生成的字符串开头部分
	 * @param table 表名
	 * @param column 字段名
	 * @param length 长度，不足部分以0补
	 * @return 主键值
	 */
	public String generateKey(String prefix, String table, String column, int length);
	
	/**
	 * 生成每日主键，每天的键值都会从1开始，会自动在前缀和键之间拼上日期，格式为yyyyMMdd
	 * @param prefix 前缀，生成的字符串开头部分
	 * @param table 表名
	 * @param column 字段名
	 * @param length 长度，不足部分以0补
	 * @return 主键值
	 */
	public String generateDailyKey(String prefix, String table, String column, int length);
	
	/**
	 * 生成主键，每个 日期段 的键值都会从1开始，会自动在前缀和键之间拼上日期字符串
	 * @param prefix 前缀，生成的字符串开头部分
	 * @param table 表名
	 * @param column 字段名
	 * @param date 日期字符串, yyyyMMddHHmmss格式，右模糊
	 * @param length 长度，不足部分以0补
	 * @return 主键值
	 */
	public String generateKey(String prefix, String table, String column, String date, int length);
}
